/**
 * 神州信息(2013)
 */
/**
 * 神州信息(2013)
 */
package com.reportgear.designer.applet;

import java.awt.CardLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.UIManager;

import net.abbp.swing.util.GuiUtils;
import net.nextvisual.report.start.Parameter;
import net.nextvisual.report.start.PrintShowPane;
import netscape.javascript.JSObject;

import com.reportgear.core.data.SalaryHelper;
import com.reportgear.core.data.model.SalaryDataObject;
import com.reportgear.report.setting.AppletSettings;
import com.reportgear.report.setting.ApplicationContext;

/**
 * 薪酬打印模板
 * 
 * @version 1.0
 * @author <a herf="lexloo@gmail.com">lexloo</a>
 * @since 销售宝 2.0
 * 
 *        <pre>
 * 历史：
 *      建立: 2013-4-16 lexloo
 * </pre>
 */
public class SctcApplet extends JApplet {

    /**
     * UID
     */
    private static final long serialVersionUID = -4437993129897142201L;
    private SelectParam sp;
    private PrintShowPane psp;
    private CardLayout layout;
    private int payId = 0;

    public void init() {
        ApplicationContext.INSTANCE.setApplet(true);
        AppletSettings appletSettings = AppletSettings.INSTANCE;

        appletSettings.setJsObject(JSObject.getWindow(this));

        initComponents();
    }

    public void start() {}

    public void stop() {}

    public void destroy() {}

    private void initComponents() {
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        } catch (Exception e) {
            e.printStackTrace();
        }

        GuiUtils.setDefaultUIFont("宋体");

        layout = new CardLayout();
        setLayout(layout);
        setBackground(Color.WHITE);
        sp = new SelectParam();
        psp = new PrintShowPane();

        sp.getBtnCancel().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // 关闭当前窗体
                JSObject ob = JSObject.getWindow(SctcApplet.this);
                ob.eval("window.opener=null;window.close();");
            }
        });

        sp.getBtnOK().addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                Parameter p = sp.getParameter();
                psp.setParameter(p);

                // String xmlData =
                // "<table border='1'><header><tr><th rowspan='4' colspan='1' width='80px' datatype=''>对象</th><th rowspan='4' colspan='1' width='100px' datatype=''>对象编码</th><th rowspan='4' colspan='1' width='100px' datatype=''>成本中心</th><th rowspan='4' colspan='1' datatype='decimal'>工资小计</th><th rowspan='1' colspan='14' datatype='decimal'>工资</th><th rowspan='4' colspan='1' width='76px' datatype='decimal'>应发合计</th><th rowspan='4' colspan='1' width='76px' datatype='decimal'>应扣合计</th><th rowspan='4' colspan='1' width='76px' datatype='decimal'>实发金额</th></tr><tr><th rowspan='3' colspan='1' datatype='decimal'>绩效工资小计</th><th rowspan='1' colspan='3' datatype='decimal'>绩效工资</th><th rowspan='3' colspan='1' datatype='decimal'>津补贴小计</th><th rowspan='1' colspan='2' datatype='decimal'>津补贴</th><th rowspan='3' colspan='1' datatype='decimal'>生活费小计</th><th rowspan='1' colspan='2' datatype='decimal'>生活费</th><th rowspan='3' colspan='1' datatype='decimal'>加班工资</th><th rowspan='3' colspan='1' datatype='decimal'>病事产假工资</th><th rowspan='1' colspan='2' datatype='decimal'>岗位工资类</th></tr><tr><th rowspan='2' colspan='1' datatype='decimal'>月度绩效</th><th rowspan='2' colspan='1' datatype='decimal'>季度绩效</th><th rowspan='2' colspan='1' datatype='decimal'>年度绩效</th><th rowspan='2' colspan='1' datatype='decimal'>政府津贴</th><th rowspan='2' colspan='1' datatype='decimal'>艰苦边远地区津贴</th><th rowspan='2' colspan='1' datatype='decimal'>AA11</th><th rowspan='2' colspan='1' datatype='decimal'>BBB22</th><th rowspan='1' colspan='1' datatype='decimal'>岗位工资</th><th rowspan='2' colspan='1' datatype='decimal'>基础工资</th></tr><tr><th rowspan='1' colspan='1' datatype='decimal'>岗位工资标准值</th></tr></header><tbody><tr><td>邓秋燕</td><td>510602730810766</td><td>省公司本部成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>席敦厚</td><td>140102570309063</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>刘红建</td><td>320106196103012414</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>冯杰</td><td>320204196601271630</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>周清久</td><td>510102196905194379</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>杨国光</td><td>510103540125221</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>靳华勇</td><td>510502196307070730</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>林海</td><td>0000000</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>黄大九</td><td>110108690122637</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>尹进</td><td>110108691012633</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>陈际民</td><td>440301611015717</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>陈冰海</td><td>510102195604017550</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>刘厚宁</td><td>51010219701105841X</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>田红</td><td>510102651110842</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>杨杰</td><td>510102711024379</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>叶鹰</td><td>510102741110147</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>梁晋川</td><td>510103195607063110</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></tbody></table>";
                // psp.setXmlData(xmlData, "发放表测试", "2012-21-22");

                String dataXml = SalaryHelper.INSTANCE.getPaymentData(payId);
                SalaryDataObject sdo = SalaryHelper.INSTANCE.getPayBase(payId);
                String date = sdo.getString("date");
                String dateOut = "发放日期：" + date.substring(0, 4) + "年" + date.substring(5, 7).replaceAll("0", "") + "月";

                psp.setXmlData(dataXml, sdo.getString("name"), dateOut);

                psp.repaint();
                layout.show(SctcApplet.this.getContentPane(), "psp");
            }
        });
        this.add(sp, "sp");
        this.add(psp, "psp");
    }

    /**
     * 指定模板打印发放表
     * 
     * @param paymentId 发放表Id
     */
    public void printPayment(int paymentId) {
        print(paymentId);
    }

    /**
     * 打印数据
     * 
     * @param payId 打印
     */
    private void print(int payId) {
        this.payId = payId;
        // SelectParamPane spp = new SelectParamPane();
        // spp.showInDialog(null);
        // if (spp.getReturnValue() == SelectParamPane.RETURN_OK) {
        // PrintShowPane psp = new PrintShowPane();
        //
        // Parameter p = spp.getParameter();
        // psp.setParameter(p);
        //
        // // String dataXml = SalaryHelper.INSTANCE.getPaymentData(payId);
        // // SalaryDataObject sdo = SalaryHelper.INSTANCE.getPayBase(payId);
        // // String date = sdo.getString("date");
        // // String dateOut = "发放日期：" + date.substring(0, 4) + "年" + date.substring(5, 7).replaceAll("0", "") + "月";
        // //
        // // psp.setXmlData(dataXml, sdo.getString("name"), dateOut);
        //
        // String xmlData =
        // "<table border='1'><header><tr><th rowspan='4' colspan='1' width='80px' datatype=''>对象</th><th rowspan='4' colspan='1' width='100px' datatype=''>对象编码</th><th rowspan='4' colspan='1' width='100px' datatype=''>成本中心</th><th rowspan='4' colspan='1' datatype='decimal'>工资小计</th><th rowspan='1' colspan='14' datatype='decimal'>工资</th><th rowspan='4' colspan='1' width='76px' datatype='decimal'>应发合计</th><th rowspan='4' colspan='1' width='76px' datatype='decimal'>应扣合计</th><th rowspan='4' colspan='1' width='76px' datatype='decimal'>实发金额</th></tr><tr><th rowspan='3' colspan='1' datatype='decimal'>绩效工资小计</th><th rowspan='1' colspan='3' datatype='decimal'>绩效工资</th><th rowspan='3' colspan='1' datatype='decimal'>津补贴小计</th><th rowspan='1' colspan='2' datatype='decimal'>津补贴</th><th rowspan='3' colspan='1' datatype='decimal'>生活费小计</th><th rowspan='1' colspan='2' datatype='decimal'>生活费</th><th rowspan='3' colspan='1' datatype='decimal'>加班工资</th><th rowspan='3' colspan='1' datatype='decimal'>病事产假工资</th><th rowspan='1' colspan='2' datatype='decimal'>岗位工资类</th></tr><tr><th rowspan='2' colspan='1' datatype='decimal'>月度绩效</th><th rowspan='2' colspan='1' datatype='decimal'>季度绩效</th><th rowspan='2' colspan='1' datatype='decimal'>年度绩效</th><th rowspan='2' colspan='1' datatype='decimal'>政府津贴</th><th rowspan='2' colspan='1' datatype='decimal'>艰苦边远地区津贴</th><th rowspan='2' colspan='1' datatype='decimal'>AA11</th><th rowspan='2' colspan='1' datatype='decimal'>BBB22</th><th rowspan='1' colspan='1' datatype='decimal'>岗位工资</th><th rowspan='2' colspan='1' datatype='decimal'>基础工资</th></tr><tr><th rowspan='1' colspan='1' datatype='decimal'>岗位工资标准值</th></tr></header><tbody><tr><td>邓秋燕</td><td>510602730810766</td><td>省公司本部成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>席敦厚</td><td>140102570309063</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>刘红建</td><td>320106196103012414</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>冯杰</td><td>320204196601271630</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>周清久</td><td>510102196905194379</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>杨国光</td><td>510103540125221</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>靳华勇</td><td>510502196307070730</td><td>省公司领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>林海</td><td>0000000</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>黄大九</td><td>110108690122637</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>尹进</td><td>110108691012633</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>陈际民</td><td>440301611015717</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>陈冰海</td><td>510102195604017550</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>刘厚宁</td><td>51010219701105841X</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>田红</td><td>510102651110842</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>杨杰</td><td>510102711024379</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>叶鹰</td><td>510102741110147</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>梁晋川</td><td>510103195607063110</td><td>部门领导成本中心</td><td>2100</td><td>1500</td><td>1000</td><td>500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>600</td><td>600</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></tbody></table>";
        // psp.setXmlData(xmlData, "发放表测试", "2012-21-22");
        //
        // this.add(psp);
        // }
    }
}